iT邦幫忙

2023 iThome 鐵人賽

DAY 23
0
Security

電腦漏洞與入侵系列 第 23

Day 23 - 探索遊戲外掛

  • 分享至 

  • xImage
  •  

它的存在破壞了遊戲的平衡性、挑戰性與公平性,透過未經授權的工具或方式來使得玩家獲得不公平的優勢,它就是耳熟能詳的「遊戲外掛」。基於對遊戲外掛的好奇心,我想知道外掛的製作過程和它透過什麼修改手段及入侵來達成目的,所以今天我要來介紹一些有關遊戲外掛的事情。


遊戲外掛

https://s17189.pcdn.co/blog/wp-content/uploads/2018/04/jeshoots-com-250229-unsplash.jpg

外掛的定義是「使用外部城市來對原本既有的程式進行修改」,但因為汙名化使其與偏離原本正向的「增加程式額外內容所附加的掛件」的意思。遊戲外掛是指針對特定遊戲設計,可以修改遊戲內部分程式的程式。


逆向工程

逆向工程的目的在於分析遊戲運行方式和搜尋相關記憶體。當你在遊玩一款遊戲的時候,遊戲數據(玩家的生命值、物品、所在位置等)通常會儲存在遊戲客戶端的記憶體當中,隨著遊戲的進行不斷的更新。透過記憶體分析數值的變化,能夠知道是哪一行的程式碼在處理這部分,推敲出相關的程式碼。像是比較廣為人知的Cheat Engine就能夠很好的進行記憶體分析這樣作業。

封包分析

你在遊戲裡做的事情如打怪、喝藥水、移動等動作都會有封包進行傳輸,透過這些封包我們能得知相關的程式碼。即使現在遊戲都會對封包進行加密,不過仍然可以透過封包的長度來去分析封包的型態。常用的程式如Wireshark能夠透過過濾其他流量來很好的只分析封包。


遊戲防護手段

遊戲外掛的氾濫使得遊戲公司會對程式碼進行加殼(Packer),使得反編譯的難度大幅提升,往往很多初學者就會敗在這一關上。常見的加殼手段有這幾個:

  • 壓縮殼

    將程式碼進行壓縮,增加逆向工程的難度

  • 加密殼

    將軟體裡面的程式碼進行加密,並且在執行時才會進行解密

  • VMP(Virtual Machine Protector)

    將程式碼轉變成一種特殊的虛擬語言,再由VMP的虛擬機器解釋和進行。因為被轉換的程式碼已經不是原本的機器語言,這也讓分析和逆向工程的難度提高


參考資料

遊戲外掛
【程式入門】遊戲外掛是如何撰寫的?


上一篇
Day 22 - 社交工程攻擊 (Social Engineering)
下一篇
Day 24 - 勒索軟體 (Ransomware)
系列文
電腦漏洞與入侵30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言